
package com.yzkj.cpjxc.business.service;

import com.yzkj.cpjxc.business.framework.common.BusinessMap;
import com.yzkj.cpjxc.business.framework.common.Pager;
import com.yzkj.cpjxc.business.domain.SysRole;
import com.yzkj.cpjxc.business.domain.SysRoleQueryVo;

import java.util.List;

/**
 * 系统角色 Service 接口
 */
public interface SysRoleService {

	/**
	 * 获取查询分页对象
	 */
	public Pager<SysRole> search(Pager<SysRole> pager, SysRoleQueryVo queryVo) throws Exception;

	/**
	 * 新增系统角色
	 */
	public BusinessMap create(SysRole sysRole) throws Exception;

	/**
	 * 判断是否存在
	 */
	public boolean isExists(SysRole sysRole) throws Exception;

	/**
	 * 根据ID获取系统角色
	 */
	public SysRole getById(String sysRoleId) throws Exception;

	/**
	 * 编辑系统角色
	 */
	public BusinessMap edit(SysRole sysRole) throws Exception;

	/**
	 * 根据ID删除系统角色
	 */
	public BusinessMap delete(String sysRoleId) throws Exception;

	/**
	 * 根据角色名称获得角色
	 */
	public SysRole getRoleByRoleName(String roleName) throws Exception;
	
	/**
	 * 根据用户id获得相应的角色
	 */
	public List<SysRole> getSysRolesByUserId(String userId) throws Exception;

	/**
	 * 保存角色和权限的关系
	 */
	public void setAuthority(String roleId, String authorityIds) throws Exception;

	/**
	 * 初始化管理员角色
	 */
	public void initData() throws Exception;

}
